package org.proddevplm.dao.api;

import java.util.List;

import org.proddevplm.dao.data.changeReport.ChangeReport;
import org.proddevplm.dao.data.competitors.Competitors;
import org.proddevplm.dao.data.competitors.CompetitorsProduct;
import org.proddevplm.dao.data.conceptSelection.PughAnalysis;
import org.proddevplm.dao.data.conceptSelection.PughCriteria;
import org.proddevplm.dao.data.correlations.QFD;
import org.proddevplm.dao.data.designForX.DesignForX;
import org.proddevplm.dao.data.designForX.DfXGImportances;
import org.proddevplm.dao.data.designForX.DfXGuidelines;
import org.proddevplm.dao.data.designForX.DfXImportances;
import org.proddevplm.dao.data.designForX.DfXRelMatrix;
import org.proddevplm.dao.data.designInputs.CTQs;
import org.proddevplm.dao.data.designInputs.DesignElements;
import org.proddevplm.dao.data.designInputs.ProductFunctions;
import org.proddevplm.dao.data.prioritize.AHPAnalysis;
import org.proddevplm.dao.data.requirements.Requirements;
import org.proddevplm.dao.data.requirements.VOCTable;
import org.proddevplm.dao.data.stakeholders.Stakeholder;
import org.proddevplm.dao.data.swot.SwotAnalysis;

public interface IToolsMgmt {
	
	boolean addCompetitor(Competitors competitor);
	
	boolean addCompProduct(CompetitorsProduct compProduct);
	
	boolean addSwotAnalysis(SwotAnalysis swotAnalysis);
	
	boolean updateSwotAnalysis(SwotAnalysis currentSwot);
	
	boolean addStakeholder(Stakeholder stakeholder);
	
	boolean updateStakeholder(Stakeholder stakeholder);
	
	boolean deleteStakeholderByName(String shName, int productId);
	
	boolean addRequirement(Requirements requirement);

	boolean deleteReqByNameandProdId(String requirement, int productId);
	
	boolean updateRequirement(Requirements requirement);
	
	boolean addAhpAnalysis(AHPAnalysis analysis);
	
	boolean addVOCT(VOCTable voct);
	
	boolean addProductFunction(ProductFunctions pf);
	
	boolean deleteProductFunction(String functionName, int productId);
	
	boolean updateProductFunction(ProductFunctions pf);
	
	boolean addCTQ(CTQs ctq);
	
	boolean deleteCTQ(String ctqName, int productId);
	
	boolean updateCTQ(CTQs ctq);
	
	boolean addDesignElement(DesignElements de);
	
	boolean deleteDE(String deName, int productId);
	
	boolean updateDesignElement(DesignElements de);
	
	boolean addChangeReport(ChangeReport cr);
	
	boolean addPughAnalysis(PughAnalysis pugh);
	
	boolean addQFD(QFD qfd);
	
	boolean updateQFD(QFD qfd);
	
	boolean addDFX(DesignForX dfx);
	
	boolean updateDFX(DesignForX dfx);
	
	boolean addDfXGuideline(DfXGuidelines guideline);
	
	boolean updateDfXGuideline(DfXGuidelines guideline);
	
	boolean addDfXRelMatrix(DfXRelMatrix dfxRM);
	
	boolean deleteDfXRelMatrix(int dfxRMId);
	
	boolean addDfXImportance(DfXImportances dfxI);
	
	boolean addDfXGImportance(DfXGImportances dfxGI);
	
}